home *** CD-ROM | disk | FTP | other *** search
/ Shareware Grab Bag / Shareware Grab Bag.iso / 090 / mhtb.arc / M
Encoding:
Text File  |  1988-02-27  |  16.3 KB  |  354 lines

  1.                                    
  2.                  The MicroHelp Toolbox  $79 + $3 s/h
  3.  
  4.        Compatible with QuickBASIC 2-4 and BASCOM 6 (Real Mode).
  5.  
  6.               (Ordering info is at the end of this file)
  7.  
  8. Don't reinvent the wheel! Now you can "build" your programs instead of
  9. writing them.
  10.  
  11. From MicroHelp, the publisher of Mach 2 and Stay-Res, our newest
  12. product is a library of QuickBASIC subprograms and functions that
  13. drastically reduce your programming time, while giving your programs a
  14. crisp, professional look and feel. As a bonus, we include a routine
  15. that lets you set the DOS Errorlevel from any version of QB as well as
  16. BASCOM 6.
  17.  
  18. Because many of the routines are video oriented, we've built in a few
  19. routines from our Mach 2 assembly language library in order to speed
  20. up your programs.
  21.  
  22. Since all of the subprograms and functions are written in QuickBASIC,
  23. and you get all the QB source code*, you can modify them to your
  24. heart's content. We even suggest specific modifications in the huge,
  25. easy-to-use, fully indexed manual.
  26.  
  27. If our description doesn't convince you to order, send us a check for
  28. $5 (refundable on direct purchase of any of our products) and we'll
  29. send you a demo disk that will convince you that you need The
  30. MicroHelp Toolbox!
  31.  
  32.  
  33. What You See is What You Get
  34. ----------------------------
  35.  
  36. In addition to the manual, you get four diskettes containing: QB
  37. source code, a pre-built User Library for QB 2 and 3, a Quick Library
  38. for QB 4 and BASCOM 6, plus four LINK libraries (BCOM and BRUN for QB
  39. 2/3 and QB 4). We also include .MAK files and declarations for QB 4 as
  40. well as batch files for maintaining and rebuilding libraries.
  41.  
  42. Each routine has a small sample program demonstrating its use and, as
  43. with all MicroHelp products, we offer free, full-time technical
  44. support (but you probably won't need it).
  45.  
  46.  
  47. We've Simplified On-Line Help, Macros, Screen Save and More.
  48. ------------------------------------------------------------
  49. All of the input and selection subprograms call the same routine for
  50. fetching characters from the keyboard. That means you can add on-line
  51. help, macro processing, automatic monitor blanking, or even display
  52. the keyboard shift state by modifying only one module!
  53.  
  54.  
  55. Simplified CALL Syntax!
  56. -----------------------
  57.  
  58. There's no need to include a complicated CALL to our subprograms.
  59. Instead, we include a special file for each subprogram that you can
  60. $Include. Simply set your variables and GOSUB to our routine. You can
  61. also use CALL, if you prefer.
  62.  
  63. * Source code for the DOS Errorlevel and the supporting assembly
  64. language subroutines from our Mach 2 package is not included.
  65.  
  66.                         Selection Subprograms
  67. ----------------------------------------------------------------------
  68. Pulldown    Combines Pick123 and PickFromBox to give your programs
  69.             pulldown menus, just like QuickBASIC. All you need to do
  70.             is create DATA statements, choose your colors and GOSUB to
  71.             our routine!
  72. Pick123     Select an item from a list like Lotus 1-2-3. Move through
  73.             the selections with the arrow keys or type in your choice.
  74.             Optionally choose an item by pressing a single key.
  75.             Automatic scrolling when you have more items than can be
  76.             viewed in the window. You can optionally display a message
  77.             associated with each selection.
  78. PickFromBox1   Select one item from a boxed window using the arrow and
  79.             page keys. Optionally choose an item by pressing a single
  80.             letter associated with the item. Automatic scrolling when
  81.             you have more items than can be viewed in the window.
  82. TagBox1     Select ("tag") as many items as you like from a boxed
  83.             window. Automatic scrolling when you have more items than
  84.             can be viewed in the window. Ideal for selecting files to
  85.             be copied or backed up or anytime multiple selections are
  86.             required.
  87. InverseWindow1 Use the arrow keys to highlight a block on the screen.
  88.  
  89. Note 1: Automatic screen save on entry, and restore on exit, is
  90. optional.
  91.                                    
  92. ----------------------------------------------------------------------
  93.                           Input Subprograms
  94.  
  95. StringInput Edited string input, with full use of the standard editing
  96.             keys. Provide the user with a "default" string to be
  97.             edited or let him start from scratch. This routine
  98.             supports "editing masks" so that you can specifiy
  99.             character types, required characters, non-entry
  100.             characters, etc. Optional automatic input termination when
  101.             the user has filled the field. You can even begin editing
  102.             input at a location other than the first character! This
  103.             routine is the foundation for the next three subprograms
  104.             listed.
  105. FullScreenInput     Fill out a data entry form where all fields appear
  106.             on one screen. Each field has its own input mask (see
  107.             StringInput) and you can optionally have data verification
  108.             for special field types and required fields. The routine
  109.             automatically moves the cursor around the screen according
  110.             to the arrow and page key presses.
  111. SpreadSheetInput    Cell oriented, this routine provides the user with
  112.             a "one-record, one-line" approach to data entry, just like
  113.             a spreadsheet. Automatic scrolling in all four directions
  114.             is a standard feature. You can have the user begin editing
  115.             at any cell in the data array and you can even specify at
  116.             what character in the cell that editing should commence.
  117.             If you want, this routine will display labels for the
  118.             columns and rows!
  119. VirtualScreenInput  This routine is similar to FullScreenInput, but it
  120.             allows you to have a "virtual" data entry form that is
  121.             larger than the screen. The subprogram automatically
  122.             scrolls in all four directions and we provide you with
  123.             sample REMmed code that will display arrows indicating in
  124.             which direction(s) the user can find more data.
  125. CapsOn      Turns the Caps Lock state on.
  126. CapsOff     Turns the Caps Lock state off.
  127. InsertOn    Turns the Insert state on.
  128. InsertOff   Turns the Insert state off.
  129. NumOn       Turns the Num Lock state on.
  130. NumOff      Turns the Num Lock state off.
  131. ScrollOn    Turns the Scroll Lock state on.
  132. ScrollOff   Turns the Scroll Lock state off.
  133. KeyboardClear  Clears the keyboard.
  134.                                    
  135. ----------------------------------------------------------------------
  136.                           DisplaySubprograms
  137.  
  138. ExplodingBox   Display an exploding box better than you've seen it
  139.             done before. We can even display data inside the box as it
  140.             grows, giving the effect of opening a window on underlying
  141.             data! You can have sound effects, a "shadow" and even a
  142.             box title. You control the speed at which the box grows.
  143. AreaClear   Clear an area of the display instantly.
  144. EndOfLine   Clear to the end of the line instantly.
  145. EndOfScreen Clear to the end of the screen instantly.
  146. BeginningOfLine     Clear to the beginning of a line instantly.
  147. BeginningOfScreen   Clear to the beginning of the screen instantly.
  148. MonitorOff  Turn monitor(s) off for automatic screen blanking when the
  149.             keyboard is idle. Works with one or two monitors.
  150. MonitorOn   Turn monitor(s) on again.
  151. Cursor      Get the current size & state of the cursor.
  152.  
  153. ----------------------------------------------------------------------
  154.                           Sound Subprograms
  155.  
  156. SpeakerOn   Turn the speaker on.
  157. SpeakerOff  Turn the speaker off.
  158. Glissando   Generate wierd and wonderful sounds through the speaker -
  159.             much better than QB's SOUND statement.
  160. ErrorBuzzer Use Glissando to create your own "signature" sound effects
  161.             when the user makes an error.
  162.  
  163. ----------------------------------------------------------------------
  164.                           String Subprograms
  165.  
  166. BinaryChop  Quickly search a sorted array for a string, where the
  167.             match is at the first character.
  168. BinaryChopMid  Quickly search a sorted array for a string, where the
  169.             match is at some character other than the first.
  170. Parse       Parse parameters from a string.
  171. Extract     Extract data from "LINE INPUT #" statements. Ideal for
  172.             parsing data from a sequential file.
  173. Replace     Replace a substring (part of a string) with another
  174.             string.
  175. ReplaceA    Same as Replace, but for arrays.
  176. Count       Count the number of words in a string.
  177. CountA      Count the number of words in a string array.
  178.  
  179. ----------------------------------------------------------------------
  180.                          Btrieve Subprograms
  181.  
  182. BtrieveCreate  Create an empty data base file.
  183. BtrieveFileSize     Calculate the theoretical size of a file given the
  184.             number of records you specify.
  185. BtrievePageSize     Calculate the optimum page size for a data base.
  186.             This results in minimizing the disk space used.
  187. BtrieveFileStatus   Similar to the output from B$UTIL.
  188.  
  189. ----------------------------------------------------------------------
  190.                       Miscellaneous Subprograms
  191.  
  192. CopyFile    Copy a file fast (requires QB 4 or BASCOM 6).
  193. TickDelay   Delay system operations for n ticks. This routine is
  194.             machine independent - you get the same result on a PC, XT,
  195.             AT, 386 or Jr.
  196. Stuffkey    Stuff characters into the keyboard buffer. Great for
  197.             executing other programs or batch files when your program
  198.             ends. You can even create batch files "on the fly" and
  199.             then reinvoke your own program.
  200. SetTime2    Set the time in the CMOS chip on 286/386 machines.
  201. GetTime     Get the time from the CMOS chip on 286/386 machines.
  202. SetDate2    Set the date in the CMOS chip on 286/386 machines.
  203. GetDate     Get the date from the CMOS chip on 286/386 machines.
  204. SearchVolume   Search an entire volume (an entire drive) for a file.
  205.              As fast as Norton's FileFind! No error trapping
  206.             necessary.
  207. WhatComputer   Determine the machine on which your program is running.
  208. GetDirectory   Read the file directory from any drive and path into an
  209.             array. You can specify the drive, path and file
  210.             specification, including wild cards. You also specify the
  211.             file attributes to search for, including "read-only",
  212.             "hidden" "volume label" and "system". No error trapping
  213.             necessary.
  214. AverageInteger3     Find the average value from an array.
  215. HighInteger3   Find the high value from in an array.
  216. LowInteger3 Find the low value in an array.
  217. LptSwap     Swaps logical printers so that output can be redirected to
  218.             up to four printers via LPT1.
  219. ComSwap     Swaps logical COM ports so that I/O can be handled on four
  220.             COM ports via COM1.
  221.  
  222. Note 2: This allows you to reset the CMOS chip values without a
  223. "setup" program and without rebooting.
  224.  
  225. Note 3: The integer array routines are easily modifiable for other
  226. array types and multiple dimensions.
  227.  
  228. ----------------------------------------------------------------------
  229.                             Date Functions
  230.  
  231. ToJulian    Converts a string to a four byte Julian date.
  232. FromJulian  Converts a Julian date to a string.
  233. DateDiff    Returns the number of days between two dates.
  234. DayMath     Adjust a date (string) by a number of days.
  235. MonthMath   Adjust a date (string) by a number of months.
  236. YearMath    Adjust a date (string) by a number of years.
  237. MonthLong   Returns the full name of a month from a number.
  238. MonthShort  Returns the three letter abbreviation of a month name from
  239.             a number.
  240. DayLong     Returns the full name of a day from a number.
  241. DayShort    Returns the three letter abbreviation of a day name from a
  242.             number.
  243. DayOfWeek   Returns the day of the week from integer input (Month%,
  244.             Day% and Year%).
  245. DayOfWeek2  Returns the day of the week from string input.
  246. RomDate     Returns the system ROM date.
  247.  
  248. ----------------------------------------------------------------------
  249.                             Time Functions
  250.  
  251. ToSeconds   Converts a string of the time to the number of seconds
  252.             past midnight.
  253. FromSeconds Converts seconds past midnight to a time string.
  254. TimeDiff    Calculates the difference between two times.
  255. HoursMath   Adjust a time by a number of hours.
  256. MinutesMath Adjust a time by a number of minutes.
  257. SecondsMath Adjust a time by a number of seconds.
  258.  
  259. ----------------------------------------------------------------------
  260.                           Keyboard Functions
  261.  
  262. AltIsPressed   Indicates if the Alt key is pressed or not.
  263. CtrlIsPressed  Indicates if the Ctrl key is pressed or not.
  264. RightShiftIsPressed Indicates if the Right Shift Key is being pressed.
  265. LeftShiftIsIsPressed     Indicates if the Left Shift key is being
  266.             pressed.
  267. InsertIsPressed     Indicates if the Ins key is being pressed.
  268. CapsLockIsPressed   Indicates if the Caps Lock key is being pressed.
  269. NumLockIsPressed    Indicates if the Num Lock key is being pressed.
  270. ScrollLockIsPressed Indicates if the Scroll Lock key is being pressed.
  271. InsertIsOn  Indicates if Insert state is on or off.
  272. CapsLockIsOn   Indicates if Caps Lock state is on or off.
  273. NumLockIsOn Indicates if Num Lock state is on or off.
  274. ScrollLockIsOn Indicates if Scroll Lock state is on or off.
  275. FetchKey    Wait until the user presses one of the keys in a list that
  276.             you pass.
  277. FetchExtendedKey    Wait until the user presses one of the extended
  278.             keys in a list that you pass.
  279.  
  280. ----------------------------------------------------------------------
  281.                            String Functions
  282.  
  283. CenterString   Center a string within another string.
  284. FullName    Strips trailing blanks and returns a full name when you
  285.             supply the first and last names.
  286. PadString   Pad a string to a new length with your choice of
  287.             characters.
  288. RightTrim   Strip trailing blanks from a string.
  289.  
  290. ----------------------------------------------------------------------
  291.                        Miscellaneous Functions
  292.  
  293. Exist       Determine if a file exists without error trapping.
  294. BitIsOn     Determines if any of 16 bits is on in an integer. This
  295.             lets you use a single integer (two bytes) for 16 "flags".
  296.             If you use integers in your program to indicate "on/off"
  297.             situations, this can save a great deal of memory.
  298. ToggleBit   Toggle any of 16 bits in an integer. If the bit is "on",
  299.             it is set to "off" and vice versa.
  300. TurnBitOn   Turn on any of 16 bits in an integer.
  301. TurnBitOff  Turn off any of 16 bits is 0, it is set to WhichRecord
  302. LptStat     Returns the status of any of four printers.
  303. ComStat     Returns the status of any of four COM ports.
  304. Ansixxxx    Thirteen ANSI functions. Especially useful with
  305.             communications programs.
  306. ColorAttribute Color attribute calculation for the input and display
  307.             routines.
  308. ----------------------------------------------------------------------
  309.  
  310. 30 Day Guarantee
  311. ----------------
  312.  
  313. If our software doesn't do what we advertise, and we don't fix it
  314. within 10 working days, you get a refund of your purchase price.
  315.  
  316.  
  317. System Requirements
  318. -------------------
  319.  
  320. IBM PC, XT, AT, PS/2, 80386 or 100% compatible.
  321.  
  322. A hard disk with available disk space of approximately:
  323.  
  324.     1.00 MB for QB 2/3 only
  325.     1.25 MB for QB 4/BASCOM 6 only
  326.     1.75 MB for for all supported compilers
  327.  
  328. Please note that the disk space above presumes 2k cluster size.
  329.  
  330. PC-DOS or MS-DOS 2.1 or later
  331.  
  332. 80 Column monitor
  333.  
  334. 360K floppy disk.
  335.  
  336. We also have the product available on 3.5" diskettes. There is a $10
  337. charge for this service.
  338.  
  339. Ordering Information
  340. --------------------
  341.  
  342. To order, call MicroHelp toll-free at 1-800-922-3383. In GA, call
  343. (404) 973-9272. We welcome VISA, MasterCard and COD orders. (COD in
  344. USA only - please add $3)
  345.  
  346. You can also order by mail. Send your check for $82 to:
  347.  
  348.      MicroHelp, Inc.
  349.      2220 Carlyle Drive
  350.      Marietta GA 30062
  351.  
  352. For Canadian orders, the shipping and handling charge is $5. For all
  353. countries other than Canada and the USA, the charge is $18.
  354.